대칭키와 비대칭키
✒️ 2025-06-03 23:27 내용 수정
참고 자료 : KISA 암호기술의 정의, 위키백과 암호화
암호 기술 용어
- 평문(Plain Text) : 보호하려는 원본 데이터
- 암호문(Cipher Text) : 평문에 암호 기술을 적용한 데이터
- 암호화(Encryption) : 평문에 암호 기술을 적용하여 암호문으로 변환하는 과정
- 복호화(Decryption) : 암호문을 다시 평문으로 복원하는 과정
- 암호화를 하려면 암호 키(key)가 필요하고, 키(key)가 있어야 암호문을 복호화하여 평문으로 복원할 수 있다.
암호 기술이 제공하는 기능
- 기밀성 : 허락된 대상에게만 정보 내용을 공개한다.
- 무결성 : 허락된 대상만 데이터를 수정할 수 있다.
- 인증 : 대상의 정체를 식별한다.
- 부인 방지 : 정보를 보낸 사람이 나중에 정보를 보냈다는 것을 부인할 수 없도록 한다.
대칭키
암호화와 복호화에 사용한 암호키가 동일한 방식
- 송신자와 수신자가 같은 키를 공유하여 데이터를 암호화/복호화 한다.
- 블록 암호 : 평문을 고정된 크기로 블록단위 암호화를 수행한다.
- SEED, HIGHT, ARIA, LEA, DES, AES 등이 있다.
- 스트림 암호 : 평문과 동일한 길이의 키 스트림(key stream) 수열을 생성하여 암호화와 복호화를 수행한다.
- RC4, A5/1, A5/2 등이 있다.
장점
- 내부 구조가 간단해서 연산 속도가 빠르다.
- 대용량 데이터를 처리할 때 효율적이다.
단점
- 송신자와 수신지가 같은 키를 공유하기 때문에 한 쪽의 키가 유출되면 통신 내용이 위험에 노출될 수 있다.
- 많은 사람들과 정보 교환 시 많은 키를 관리해야 하므로 키 관리가 복잡해진다.
비대칭키
암호화와 복호화에 사용한 암호키가 다른 방식
- 송신자는 수신자의 공개키를 이용하여 암호화하고, 수신자는 공개키로 암호화된 암호문을 개인키로 복호화한다.
- 공개키 암호화 알고리즘은 RSA, ElGamal, ECC 등이 있다.
장점
- 여러 송신자가 하나의 공개키로 암호화를 수행하기 때문에 사용자가 많더라도 키를 관리하는 데 유리하다.
- 키 분배가 편리하기 때문에 키 교환 과정에서의 보안 문제가 줄어든다.
단점
- 암호화에 복잡한 수학 연산을 사용하기 때문에 대칭키 암호에 비해 효율성이 떨어질 수 있다.
- 연산량이 많아 시스템 자원을 더 소비하고, 암호화와 복호화 속도가 느리다.
공개키와 개인키
참고 자료 : 스파이디웹's Security 공개키(Public key) vs 개인키(private key), 대칭키 vs 비대칭키, Geeksforgeeks Difference between Private key and Public key
1) 공개키(public key)
- 외부에 공개할 수 있는 키다.
- 공개키로 암호화한 암호문은 대응되는 개인키로만 복호화할 수 있다.
- 개인키에 비해 암호화 속도가 느리다.
- 데이터를 암호화하거나 디지털 서명을 검증할 때 사용한다.
2) 개인키(private key)
- 개인이 안전하게 보관해야 하는 키다.
- 연산이 오래 걸리지 않아 암호화 속도가 빠르다.